var table ,form ,laypage ,layer ,element ,laydate ,upload ,colorpicker//时间组件
$(function(){
	layui.use(['table','form','laypage','layer', 'element', 'laydate','upload','colorpicker'], function(){
		  table = layui.table;
          form=layui.form;
          laypage = layui.laypage ;//分页
          layer = layui.layer ;//弹层
          element = layui.element; //元素操作
          laydate = layui.laydate; //时间组件 
          upload = layui.upload; 
		  colorpicker = layui.colorpicker;
		//预定义颜色项
	    colorpicker.render({
	       elem: '#backgroundColor1',
	       color: '#373d41',
	       colors:['#373d41'],	   
	       predefine: true, // 开启预定义颜色
	       done: function(color){
	    	   $("#Color1").val(color)	    	   
	    	}
	     });
		 colorpicker.render({
		    elem: '#backgroundColor2',
		    color: '',
		    predefine: true, // 开启预定义颜色
		    colors: ['#ff8c00','#00ced1','#9d8a0e'], //自定义预定义颜色项
		    done: function(color){
		    	$("#Color2").val(color)
	    	}
		  });
    	//图片上传
        $("#addicon").change(function (ev) { 
        	var imgData;
        	// 构造一个文件渲染对象
		    var reader = new FileReader();
		    // 得到文件列表数组
		    var fileObj = $(this)[0].files[0];
		    // 拿到文件数据
		    reader.readAsDataURL(fileObj);

		    reader.onload = function() {
		        // 获取文件信息
		        imgData = reader.result;		    
		    };
            var formData = new FormData();
            formData.append('myFile', $(this)[0].files[0]); // 固定格式
            var tishi = layer.open({
          	    title: false
                ,closeBtn: 0
                ,shadeClose: false
                ,area: ['130px', '70px']
                ,type: 1
                ,content: '图片上传中...'
            }); 
            $.ajax({
                  url:'/sysPermission/uploadImage.do' ,//后台接收数据地址
                  headers: setHeader(),
                  data:formData,
                  type: "POST",
                  dataType: "json",
                  cache: false,			//上传文件无需缓存
                  processData: false,		//用于对data参数进行序列化处理 这里必须false
                  contentType: false,
                  success:function(res){
                  	if(res.status==200){
                  		$("#viewer_icon img").attr("src",imgData);//查看地址
						$("#viewer_icon img").attr("data-original",imgData);//查看地址
                  		$("#icon").val(res.resultData.path);
                  		layer.msg("图片选择完成", {icon: 6});
                  		form.render();//需要渲染一下
                  	}else if(res.status == 666){
                  	  TIMEOUT(); 
                    }else{
                      	layer.msg(res.resultMsg, {icon: res.icon});                    		
                  	}
                  	layer.close(tishi);
                  }
              })
        });
		//上级菜单选择
		var setting = {
			view: {
				dblClickExpand: false
			},
			data: {
				simpleData: {
					enable: true,
					idKey : "permissionId",
					pIdKey: "pid"
				},
				key: {
					url:'none'
				}
			},
			callback: {
				onClick: onClick,
				onAsyncSuccess: function(event, treeId, treeNode, msg) {
				    $.fn.zTree.getZTreeObj(treeId).expandAll(true);//异步加载完成后展开tree
				}
			}
		};
		$.ajax({
	        url: "/sysPower/selectPower.do",               //请求地址
	        type: "POST",              //请求类型
	        data:{},              //请求数据
	        timeout: 200000,                //请求超时时间(毫秒)
	        headers: setHeader(),
	        success:function(res){         //请求成功
	     	   if(res.status == 200){
	     		  var zNodes=res.resultData
	     		  var zTree = $.fn.zTree.init($("#treeDemo"), setting ,zNodes);
	     		 zTree.expandAll(true);//节点展开
			   }else if(res.status == 666){
				   TIMEOUT(); 
		       }else{
  					layer.msg(res.resultMsg, {icon: res.icon});
  				} 
	       }
	    })
		//上级菜单选择end
	  //表单验证
	  form.verify({
		  fpid: function(value, item){ //上级菜单验证
				if(validate.isBlank(value))
				{
					return "请选择上级菜单！";
				}
		  }
		  ,fname: function(value, item){ //名称验证
				if(validate.isBlank(value))
				{
					return "请输入模块名称！";
				}
			    if(!validate.maxLength(value,50)){
			      return '模块名称长度不能超过50个字符';
			    }
		  }
	  	  ,furl: function(value, item){//验证url
	  		if(validate.isBlank(value))
			{
				return "请输入url！";
			}
		    if(!validate.maxLength(value,100)){
		      return 'url长度不能超过100个字符';
		    }
		  }
		  ,fpriority: function(value, item){//验证排序
				if(validate.isBlank(value))
				{
					return "排序不能为空!";
				}
		  }
		  ,fdescription: function(value, item)//描述验证
		  {
			    if(!validate.maxLength(value,100))
			    {
			      return '描述长度不能超过100个字符';
			    }
		  }
		});
	  
	  //表单提交事件
	  form.on('submit(formDemo)', function(data){
		    this.blur();//防止点回车，按钮重复点击
		  	var loadIndex = layer.load(1);//显示加载层
		  	var requestData = formToJsonObj("form_edit", []);
		  	var val1=$("#Color1").val();
		  	var val2=$("#Color2").val();
		  	var colorArry=[];
		  	colorArry.push(val1,val2);
		  	colorArry=removeEmpty(colorArry);
		  	requestData.backgroundColor=colorArry;
		  	$.ajax({
		           url: "/sysPermission/save.do",               //请求地址
		           type: "POST",              //请求类型
		           data:formatParam(requestData),              //请求数据
		           timeout: 200000,                //请求超时时间(毫秒)
		           headers: setHeader(),
		           success:function(res){         //请求成功
		        	   if(res.status == 200)
		  				{
		    				layer.msg(res.resultMsg, {icon: res.icon},function(){
								     var index = parent.layer.getFrameIndex(window.name);
								     window.parent.renderTable();//执行父页面的事件
								      //parent.layui.table.reload("tabledata")//
								      parent.layer.close(index);//关闭弹出的子页面窗口
							});
		  				}else if(res.status == 666){
		  				  TIMEOUT(); 
		  		       }else{
		  					layer.msg(res.resultMsg, {icon: res.icon});
		  				} 
		        	   layer.close(loadIndex);//关闭加载层      
	              }
	           })
			return false; //阻止表单跳转。
		});
	});
})
//图片点击事件
function Viewerfun(id){
	var viewer = new Viewer(document.getElementById(id), {
		url: 'data-original',
		navbar: false
  });
}
 function onClick(e, treeId, treeNode) {
			$("#pname").val(treeNode.name);
			$("#pid").val(treeNode.permissionId);
			hideMenu();
//			if(treeNode.level==0){//0根节点1二级
//				$("#gradientbgColor").show();
//				$("#Color1").val("#373d41")//默认值
//				$("#Color2").val("")
//			}else{
//				$("#gradientbgColor").hide();
//				$("#Color1 ,#Color2").val("")
//			}
}
function showMenu() {
	var cityObj = $("#pname");
	var cityOffset = $("#pname").offset();
	$("#menuContent").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast");
	$('ul.ztree').width(cityObj.width());//设置下拉菜单宽度	
	$("body").bind("mousedown", onBodyDown);
}
function hideMenu() {
	$("#menuContent").fadeOut("fast");
	$("body").unbind("mousedown", onBodyDown);
}
function onBodyDown(event) {
	if (!(event.target.id == "menuBtn" || event.target.id == "menuContent" || $(event.target).parents("#menuContent").length>0)) {
		hideMenu();
	}
}


